/*
* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 
* Licensed under the Apache License, Version 2.0 (the "License"); 
* you may not use this file except in compliance with the License. 
* You may obtain a copy of the License at 
*
* http://www.apache.org/licenses/LICENSE-2.0 
*
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
* See the License for the specific language governing permissions and 
* limitations under the License. 
*/
const { Tool } = require('./tool');

class Logger {
    constructor() {

    }
    static err(msg, dontexit) {
        if (Tool.VSCODE_INST) {
            Tool.VSCODE_INST.window.showErrorMessage(msg);
        }

        console.log('ERR :', msg);
        if (dontexit) {
            return false;
        }
        process.exit();
        return false;
    }
    static INFO_NUM = 1;
    static info(msg) {
        if (Tool.VSCODE_INST) {
            Tool.VSCODE_INST.window.showInformationMessage(msg);
        }

        console.log('INFO (%d) %s'.format(Logger.INFO_NUM++, msg));
    }
}

module.exports = {
    Logger
};